As more users adopt smartphones, tablet computers and other touch screen enabled devices, the importance of user interaction with a computing device via a touchpad, touch screen or other human input device (HID) increases. Commonly, a touch input device for smartphone, tablet or other device is implemented via an array of sensors to which analog circuitry is coupled to determine a user touch and provide this information to a touch controller, which typically is implemented using digital circuitry in a separate integrated circuit. In general, this touch controller operates to receive inputs from one or more analog circuits that connect to the touch array and determine touch locations, filter false touches, and provide an HID packet for output to other circuitry of the computing device such as a host processor.
Touch processing typically involves analyzing a capacitance or equivalent data from a touch sensor array and then identifying data points that resemble a fingertip, palm, etc. Once a cluster of such data points is identified, additional processing is performed to compute the characteristics of the touch such as location coordinates, width/height of the digit, pressure and so forth. While an embedded touch controller typically performs these computations, as compute complexity increases with advances in touch input devices, the relatively basic signal processing afforded by such a controller may be insufficient.